OpenID Connect で使用される ID トークン内のクレーム一覧
iss: 必須。応答の発行者の発行者識別子。iss 値は、大文字と小文字が区別される、https スキームを使用した URL で、スキーム、ホスト、およびオプションでポート番号とパス コンポーネントを含み、クエリまたはフラグメント コンポーネントは含まない
sub: 必須。サブジェクト識別子。エンドユーザーの発行者内でローカルに一意で再割り当てされない識別子。クライアントが使用することを意図しています。例: 24400320 または AItOawmwtWwcT0k51BayewNvutrJUqsvl6qs7A4。長さは 255 ASCII (RFC 20) 文字を超えてはならない。sub 値は大文字と小文字が区別される文字列 aud: 必須。この ID トークンの対象オーディエンス。オーディエンス値として、依存パーティの OAuth 2.0 client_id を含める必要があります。他のオーディエンスの識別子を含めることもできます。一般的なケースでは、aud 値は大文字と小文字が区別される文字列の配列です。オーディエンスが 1 つの一般的な特殊なケースでは、aud 値は単一の大文字と小文字が区別される文字列である場合があります。
exp: 必須。 OP との認証を実行する際に、ID トークンが RP によって受け入れられない有効期限。このパラメータの処理では、現在の日付/時刻が値にリストされている有効期限の日付/時刻より前である必要があります。実装者は、クロック スキューを考慮して、通常は数分以内のわずかな余裕を持たせることができます。この値は、UTC で測定された 1970-01-01T00:00:00Z から日付/時刻までの秒数を表す JSON (RFC 8259) 数値です。日付/時刻全般、特に UTC に関する詳細については、RFC 3339 を参照してください。注: ID トークンの有効期限は、RP と OP 間の認証セッションの有効期間とは無関係です。 iat: 必須。JWT が発行された時刻。その値は、UTC で計測された 1970-01-01T00:00:00Z から日付/時刻までの秒数を表す JSON 数値です。
auth_time: エンドユーザー認証が発生した時刻。その値は、UTC で計測された 1970-01-01T00:00:00Z から日付/時刻までの秒数を表す JSON 数値です。max_age 要求が行われた場合、または auth_time が必須クレームとして要求された場合、このクレームは必須です。それ以外の場合、その含め方はオプションです。(auth_time クレームは、OpenID 2.0 PAPE OpenID.PAPE auth_time 応答パラメータに意味的に対応します。) nonce: クライアント セッションを ID トークンに関連付け、リプレイ攻撃を軽減するために使用される文字列値。値は、認証要求から ID トークンに変更されずに渡されます。 ID トークン内に存在する場合、クライアントは nonce クレーム値が認証要求で送信された nonce パラメータの値と等しいことを確認する必要があります。認証要求内に存在する場合、認可サーバーは ID トークンに nonce クレームを含める必要があります。クレーム値は認証要求で送信された nonce 値です。認可サーバーは、使用される nonce 値に対して他の処理を実行しないでください。nonce 値は大文字と小文字が区別される文字列です。
acr: オプション。認証コンテキスト クラス参照。実行された認証が満たした認証コンテキスト クラスを識別する認証コンテキスト クラス参照値を指定する文字列。値「0」は、エンドユーザー認証が ISO/IEC 29115 レベル 1 の要件を満たしていないことを示します。歴史的な理由から、値「0」は、同じ人物が実際にそこにいるという確信がないことを示すために使用されます。レベル 0 の認証は、金銭的価値のあるリソースへのアクセスを認可するために使用しないでください。 (これは OpenID 2.0 PAPE OpenID.PAPE nist_auth_level 0 に相当します。) 絶対 URI または RFC 6711 登録名を acr 値として使用する必要があります。登録名は、登録されている意味とは異なる意味で使用することはできません。このクレームを使用する当事者は、使用される値の意味について合意する必要があります。これはコンテキストに固有のものである可能性があります。acr 値は大文字と小文字を区別する文字列です。 amr: オプション。認証方法参照。認証で使用される認証方法の識別子である文字列の JSON 配列。たとえば、値はパスワードと OTP の両方の認証方法が使用されたことを示す場合があります。amr 値は大文字と小文字を区別する文字列の配列です。amr クレームで使用される値は、RFC 8176 によって確立された IANA 認証方法参照値レジストリ IANA.AMR に登録されている値である必要があります。このクレームを使用する当事者は、使用される未登録の値の意味について合意する必要があります。これはコンテキストに固有のものである可能性があります。 azp: オプション。承認されたパーティ - ID トークンが発行されたパーティ。存在する場合、このパーティの OAuth 2.0 クライアント ID が含まれている必要があります。azp 値は、StringOrURI 値を含む大文字と小文字が区別される文字列です。実際には、azp クレームは、この仕様の範囲を超える拡張機能が使用されている場合にのみ発生することに注意してください。したがって、このような拡張機能を使用しない実装では、azp を使用せず、発生した場合は無視することをお勧めします。
参考文献